package controladores;



import java.util.Observer;

import javax.swing.JDialog;
import javax.swing.JLabel;

import nsrc.paquete14.VistaCompetencia;

import modelo.Juego;

//import vistas.PanelInfoJuego;
//import vistas.PanelInfoPista;
import vistas.*;


public class ControladorJuego {
	private CargaJugador controlNombreJugador;
	private CargaPista controlCargaPista;
	private ControladorCompra controlCompra;
	private CtrlCompetencia ctrlCompe;
	//private VistaContenedora;
	
	public ControladorJuego(){
		ctrlCompe = new CtrlCompetencia();
	}
	
	public void cargarJugador(PanelInfoJuego panelInfo,PanelInfoPista panelPista){
		controlNombreJugador = new CargaJugador(panelInfo,this);
		//this.vistaComp =vistaComp;
	}
	
	
	public CtrlCompetencia getControlComp(){
		return ctrlCompe;
	}
	
	/**
	 * Comienza una nueva partida
	 */
	public void configurarNuevaPartida(PanelInfoJuego panelJugador){
		//cargarJugador(panelJugador);
	}


	/**
	 * Cargar jugadores.
	 */
	public void getJugador(int id){
		Juego.getInstanciaPartida().getUsuario(id);
	}
	
	/**
	 * comienza la nueva partida seleccionando el primer jugador de turno.
	 */
	public void iniciarCompetencia(VentanaCompetencia vista) {
		if(Juego.getInstanciaPartida().getPista()!=null){
			ctrlCompe.iniciar();//inicializo el modelo
			vista.iniciar();
			//vistaComp
		}else{
			JDialog error = new JDialog();
	        error.pack();
	        error.setTitle("ERROR");
	        error.getContentPane().add(new JLabel("PRIMERO DEBE ELEGIR UNA PISTA"));
	        error.pack();
	        error.setVisible(true);			
		}
	}

	
	public void registrarObservadores(Observer observador) {
		//Partida.getInstanciaPartida().addObserver(observador);
	}
	
	
	public void finalizarJuego() {
		System.exit(0);
	}
	
	
	
	//private void cargaObsevadores(PanelInfoJuego panelJugador/*,  ListadoUnidadesMovibles listadoUnidadesMovibles, ListadoEdificios listadoEdificios*/){
		//modelo.Usuario jugador;
	//}

	public void iniciar() {
		//this.cargarJugador();
	}

	public void ElegirPista(PanelInfoPista panelPista) {		
		this.controlCargaPista = new CargaPista(panelPista);
	}

	public void iniciarCompra() {
		this.controlCompra = new ControladorCompra();
	}


}
